home *** CD-ROM | disk | FTP | other *** search
- import javax.microedition.lcdui.Canvas;
- import javax.microedition.lcdui.Graphics;
- import javax.microedition.lcdui.Image;
-
- class PlayBoard extends Canvas implements Runnable {
- // $FF: renamed from: null int
- private int field_0 = 0;
- // $FF: renamed from: else int
- private int field_1 = 0;
- // $FF: renamed from: i int
- private int field_2 = 0;
- // $FF: renamed from: a int
- private int field_3 = 0;
- // $FF: renamed from: d int
- private int field_4 = 0;
- // $FF: renamed from: new int
- private int field_5 = 0;
- // $FF: renamed from: try int
- private int field_6 = 2;
- // $FF: renamed from: void int
- private int field_7 = 2;
- // $FF: renamed from: case int
- private int field_8 = 0;
- // $FF: renamed from: byte int
- private int field_9 = 0;
- // $FF: renamed from: goto int
- private int field_10 = 300;
- // $FF: renamed from: g int
- private int field_11 = 1;
- // $FF: renamed from: f int
- private int field_12 = 1;
- // $FF: renamed from: do java.lang.Thread
- private Thread field_13 = null;
- // $FF: renamed from: e javax.microedition.lcdui.Image
- private Image field_14 = null;
- // $FF: renamed from: b javax.microedition.lcdui.Graphics
- private Graphics field_15 = null;
- // $FF: renamed from: if boolean
- private boolean field_16 = false;
- // $FF: renamed from: h boolean
- private boolean field_17 = false;
- // $FF: renamed from: int boolean
- private boolean field_18 = false;
- // $FF: renamed from: for int[][]
- private int[][] field_19;
- // $FF: renamed from: c javax.microedition.lcdui.Image[]
- private Image[] field_20 = new Image[4];
- // $FF: renamed from: long boolean
- private boolean field_21 = false;
- // $FF: renamed from: char int
- private int field_22 = 0;
-
- public PlayBoard(int var1) {
- try {
- this.field_1 = ((Canvas)this).getWidth();
- this.field_2 = ((Canvas)this).getHeight();
- this.field_14 = Image.createImage(this.field_1, this.field_2);
- this.field_15 = this.field_14.getGraphics();
- this.field_3 = this.field_14.getWidth();
- this.field_4 = this.field_14.getHeight();
- this.field_5 = var1;
- this.field_0 = 0;
- this.field_19 = new int[this.field_5][this.field_5];
-
- for(int var2 = 0; var2 < this.field_5; ++var2) {
- for(int var3 = 0; var3 < this.field_5; ++var3) {
- this.field_19[var2][var3] = 0;
- }
- }
-
- this.method_1();
- } catch (Exception var4) {
- System.gc();
- }
-
- }
-
- public void paint(Graphics var1) {
- if (!this.field_16) {
- var1.setColor(16777215);
- var1.fillRect(0, 0, this.field_1, this.field_2);
- this.field_16 = true;
- }
-
- var1.drawImage(this.field_14, 0, 0, 20);
- }
-
- public void keyPressed(int var1) {
- if (!this.field_21) {
- this.method_0(var1);
- }
-
- }
-
- public void keyRepeated(int var1) {
- if (!this.field_21) {
- this.method_0(var1);
- }
-
- }
-
- // $FF: renamed from: a (int) void
- protected void method_0(int var1) {
- if (!this.field_18) {
- int var2 = ((Canvas)this).getGameAction(var1);
- this.method_3(this.field_11, this.field_12);
- switch (var2) {
- case 1:
- if (this.field_12 > 1) {
- --this.field_12;
- }
- break;
- case 2:
- if (this.field_11 > 1) {
- --this.field_11;
- }
- case 3:
- case 4:
- case 7:
- default:
- break;
- case 5:
- if (this.field_11 < this.field_5) {
- ++this.field_11;
- }
- break;
- case 6:
- if (this.field_12 < this.field_5) {
- ++this.field_12;
- }
- break;
- case 8:
- ++this.field_0;
- this.field_21 = true;
- this.field_10 = 50;
- }
-
- this.method_2(this.field_11, this.field_12);
- ((Canvas)this).repaint();
- ((Canvas)this).serviceRepaints();
- }
-
- }
-
- public void run() {
- while(!this.field_17) {
- try {
- Thread.sleep((long)this.field_10);
- if (this.method_6()) {
- Object var1 = null;
- this.field_15.setColor(16777215);
- this.field_15.fillRect(0, 0, this.field_3, this.field_4);
- this.field_15.setColor(0);
- this.field_15.drawString(" GAME OVER", 0, this.field_2 / 5 + 12, 20);
- this.field_15.drawString(" No. of moves: " + this.field_0, 0, this.field_2 / 5 + 25, 20);
- ((Canvas)this).repaint();
- ((Canvas)this).serviceRepaints();
- this.field_17 = true;
- this.field_18 = true;
- var1 = null;
- }
-
- if (this.field_21) {
- this.method_4(this.field_11, this.field_12);
- ++this.field_22;
- if (this.field_22 == 3) {
- this.field_21 = false;
- this.field_22 = 0;
- this.field_10 = 300;
- }
-
- ((Canvas)this).repaint();
- ((Canvas)this).serviceRepaints();
- }
- } catch (Exception var2) {
- System.gc();
- }
- }
-
- }
-
- // $FF: renamed from: do () void
- private void method_1() {
- if (this.field_15 != null) {
- this.field_15.setColor(16777215);
- this.field_15.fillRect(0, 0, this.field_3, this.field_4);
- this.field_15.setColor(0);
- this.field_8 = (this.field_3 - 2 * this.field_6) / this.field_5;
- this.field_9 = (this.field_4 - 2 * this.field_7) / this.field_5;
- if (this.field_8 > this.field_9) {
- this.field_8 = this.field_9;
- } else {
- this.field_9 = this.field_8;
- }
-
- this.method_8();
- this.field_6 = (this.field_3 - this.field_5 * this.field_8) / 2;
- this.field_7 = (this.field_4 - this.field_5 * this.field_9) / 2;
- boolean var1 = false;
-
- try {
- this.method_7();
- } catch (Exception var10) {
- var1 = true;
- }
-
- if (!var1) {
- int var2 = this.field_6;
-
- for(int var3 = 0; var2 <= this.field_3 && var3 <= this.field_5; ++var3) {
- this.field_15.drawLine(var2, this.field_7, var2, this.field_5 * this.field_9 + this.field_7);
- var2 += this.field_8;
- }
-
- int var4 = this.field_7;
-
- for(int var5 = 0; var4 <= this.field_4 && var5 <= this.field_5; ++var5) {
- this.field_15.drawLine(this.field_6, var4, this.field_5 * this.field_8 + this.field_6, var4);
- var4 += this.field_9;
- }
-
- int var6 = 0;
-
- for(int var7 = this.field_7; var6 < this.field_5; var7 += this.field_9) {
- int var8 = 0;
-
- for(int var9 = this.field_6; var8 < this.field_5; var9 += this.field_8) {
- this.field_15.drawImage(this.field_20[0], var9 + this.field_8 / 2, var7 + (this.field_9 - this.field_20[0].getHeight()) / 2, 17);
- ++var8;
- }
-
- ++var6;
- }
-
- this.field_11 = 1;
- this.field_12 = 1;
- this.method_2(this.field_11, this.field_12);
- } else {
- this.field_15.drawString(" Screen size", 0, this.field_2 / 5 + 12, 20);
- this.field_15.drawString(" is small ", 0, this.field_2 / 5 + 25, 20);
- }
- }
-
- }
-
- // $FF: renamed from: do (int, int) void
- private void method_2(int var1, int var2) {
- this.field_15.setColor(0);
- this.field_15.drawRect(this.field_6 + this.field_8 * (var1 - 1) + 1, this.field_7 + this.field_9 * (var2 - 1) + 1, this.field_8 - 2, this.field_9 - 2);
- }
-
- // $FF: renamed from: a (int, int) void
- private void method_3(int var1, int var2) {
- this.field_15.setColor(16777215);
- this.field_15.drawRect(this.field_6 + this.field_8 * (var1 - 1) + 1, this.field_7 + this.field_9 * (var2 - 1) + 1, this.field_8 - 2, this.field_9 - 2);
- }
-
- // $FF: renamed from: for (int, int) void
- private void method_4(int var1, int var2) {
- this.method_5(var1, var2);
- if (var1 - 1 != 0) {
- this.method_5(var1 - 1, var2);
- }
-
- if (var1 + 1 <= this.field_5) {
- this.method_5(var1 + 1, var2);
- }
-
- if (var2 - 1 != 0) {
- this.method_5(var1, var2 - 1);
- }
-
- if (var2 + 1 <= this.field_5) {
- this.method_5(var1, var2 + 1);
- }
-
- }
-
- // $FF: renamed from: if (int, int) void
- private void method_5(int var1, int var2) {
- if (this.field_19[var1 - 1][var2 - 1] == 0) {
- if (this.field_22 + 1 == 3) {
- this.field_19[var1 - 1][var2 - 1] = 1;
- }
-
- this.field_15.drawImage(this.field_20[this.field_22 + 1], this.field_6 + this.field_8 * (var1 - 1) + this.field_8 / 2, this.field_7 + this.field_9 * (var2 - 1) + (this.field_9 - this.field_20[0].getHeight()) / 2, 17);
- } else {
- this.field_15.setColor(16777215);
- if (this.field_22 + 1 == 3) {
- this.field_19[var1 - 1][var2 - 1] = 0;
- }
-
- this.field_15.drawImage(this.field_20[2 - this.field_22], this.field_6 + this.field_8 * (var1 - 1) + this.field_8 / 2, this.field_7 + this.field_9 * (var2 - 1) + (this.field_9 - this.field_20[0].getHeight()) / 2, 17);
- }
-
- }
-
- // $FF: renamed from: a () boolean
- private boolean method_6() {
- for(int var1 = 0; var1 < this.field_5; ++var1) {
- for(int var2 = 0; var2 < this.field_5; ++var2) {
- if (this.field_19[var1][var2] == 0) {
- return false;
- }
- }
- }
-
- return true;
- }
-
- // $FF: renamed from: for () void
- private void method_7() throws Exception {
- try {
- Object var1 = null;
- Object var2 = null;
- Object var3 = null;
- Object var4 = null;
- byte var5;
- byte var6;
- byte var7;
- String var9;
- String var10;
- if (this.field_8 > 28) {
- var9 = "/res/22x22white.png";
- var10 = "/res/22x22red.png";
- var5 = 22;
- var6 = 8;
- var7 = 16;
- } else if (this.field_8 <= 28 && this.field_8 > 21) {
- var9 = "/res/14x14white.png";
- var10 = "/res/14x14red.png";
- var5 = 14;
- var6 = 6;
- var7 = 10;
- } else if (this.field_8 <= 21 && this.field_8 > 16) {
- var9 = "/res/10x10white.png";
- var10 = "/res/10x10red.png";
- var5 = 10;
- var6 = 4;
- var7 = 8;
- } else if (this.field_8 <= 16 && this.field_8 > 11) {
- var9 = "/res/8x8white.png";
- var10 = "/res/8x8red.png";
- var5 = 8;
- var6 = 2;
- var7 = 6;
- } else {
- if (this.field_8 > 11 || this.field_8 < 10) {
- throw new Exception("Screen size is small");
- }
-
- var9 = "/res/6x6white.png";
- var10 = "/res/6x6red.png";
- var5 = 6;
- var6 = 2;
- var7 = 4;
- }
-
- this.field_20[0] = Image.createImage(var9);
- this.field_20[3] = Image.createImage(var10);
- Image var11 = Image.createImage(var5, var5);
- Graphics var13 = var11.getGraphics();
- var13.setColor(16777215);
- var13.fillRect(0, 0, var5, var5);
- var13.setClip(var5 / 2 - var6 / 2, var5 / 2 - var6 / 2, var6, var6);
- var13.drawImage(this.field_20[3], 0, 0, 20);
- this.field_20[1] = var11;
- var11 = Image.createImage(var5, var5);
- var13 = var11.getGraphics();
- var13.setColor(16777215);
- var13.fillRect(0, 0, var5, var5);
- var13.setClip(var5 / 2 - var7 / 2, var5 / 2 - var7 / 2, var7, var7);
- var13.drawImage(this.field_20[3], 0, 0, 20);
- this.field_20[2] = var11;
- } catch (Exception var8) {
- throw new Exception("Screen size is small");
- }
- }
-
- // $FF: renamed from: if () void
- private void method_8() {
- if (this.field_8 % 2 != 0) {
- int var1 = (this.field_8 + 1) * this.field_5 + this.field_6;
- if (var1 < this.field_3 && var1 < this.field_4) {
- ++this.field_8;
- this.field_9 = this.field_8;
- return;
- }
-
- --this.field_8;
- this.field_9 = this.field_8;
- }
-
- }
-
- public void start() {
- if (this.field_13 == null) {
- this.field_13 = new Thread(this);
- this.field_17 = false;
- this.field_13.start();
- }
-
- }
-
- public void stop() {
- this.field_17 = true;
- }
- }
-